<?php //
include_once("Conexion.php");

//Declaracion
class M_FormularioPorRol {
    
    private $id_rol;
    private $id_pagina;
    private $id_formulario;
    private $usuCreac;
    private $id_usuario;

    
    function searchVis_FormularioRol_Pagina_Rol() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT * FROM vis_formularioxrol where id_rol=$this->id_rol and id_pagina=$this->id_pagina order by id_formulario ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
            
    function searchVis_FormularioRol() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " select distinct id_rol, concat(modulo,' - ',pagina) as pagina, id_pagina from vis_formularioxrol where id_rol = $this->id_rol ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    function Insert_Form_Rol() {
        //Generamos el id
       
       //**/
       //Creamos un objeto de la clase conexion
        $miconexion = new Conexion();
        //Obtenemos la conexion
        $cn = $miconexion->conectar();
        //Comenzamos la transaccion
        //  pg_query($cn,"BEGIN");
        //Elaboramos la sentencia
        $sql=" INSERT INTO tbl_formulario_por_rol(id_rol, id_formulario, creadopor, creacion, eliminado) VALUES ($this->id_rol, $this->id_formulario, '$this->usuCreac', now(), false) ";
        //Ejecutamos la sentencia
        $result = pg_query($cn, $sql);
        if (!$result) {
            //Si no obtiene resultados anulamos la transaccion
            //  pg_query($cn,"ROLLBACK");
            $rpta = false;
        } else {
            //Si obtiene resultados confirmamos la transaccion
            // pg_query($cn,"COMMIT");
            $rpta = true;
        }
        //Cerramos la conexion
        pg_close($cn);

        return $rpta;
    }
    
    function Delete_Form_Rol() {
        //Generamos el id
       
       //**/
       //Creamos un objeto de la clase conexion
        $miconexion = new Conexion();
        //Obtenemos la conexion
        $cn = $miconexion->conectar();
        //Comenzamos la transaccion
        //  pg_query($cn,"BEGIN");
        //Elaboramos la sentencia
        $sql=" DELETE FROM tbl_formulario_por_rol WHERE eliminado=false and id_rol=$this->id_rol ";
        //Ejecutamos la sentencia
        $result = pg_query($cn, $sql);
        if (!$result) {
            //Si no obtiene resultados anulamos la transaccion
            //  pg_query($cn,"ROLLBACK");
            $rpta = false;
        } else {
            //Si obtiene resultados confirmamos la transaccion
            // pg_query($cn,"COMMIT");
            $rpta = true;
        }
        //Cerramos la conexion
        pg_close($cn);

        return $rpta;
    }
    
    function searchVis_FormularioRol_Uno() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = "select distinct id_formulario, formulario 
        from vis_perfil per left join vis_formularioxrol fxp on fxp.id_rol=per.id_rol 
        where id_usuario='$this->id_usuario' and id_pagina=$this->id_pagina ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    function setId_Rol($rol) {
        $this->id_rol = $rol;
    }
    
    function setId_Pagina($id_pagina) {
        $this->id_pagina = $id_pagina;
    }
    
    function setId_Formulario($formulario) {
        $this->id_formulario = $formulario;
    }
    
    function setUsuCreac($usuario) {
        $this->usuCreac = $usuario;
    }
    
    function setidUsuario($usuario) {
        $this->id_usuario = $usuario;
    }
    
}
?>